package cn.broadsense.thrid.param;

import cn.broadsense.thrid.result.FaceCaptureResult;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 人像抓拍
 *
 * @author pengxin
 * @date 2022-10-12 15:15
 */
@NoArgsConstructor
@Data
public class FaceCaptureParam extends BaseParam{
    private static final long serialVersionUID = -8090143440009181244L;
    private Integer page;
    private Integer pageSize;
    private Integer count;
    private ConditionParam condition = new ConditionParam();
    private RetrievalParam retrieval = new RetrievalParam();
    private List<Map<String,Object>> order;


    @Override
    public void checkParam() {

    }

    @Override
    public Class getResultClass() {
        return FaceCaptureResult.class;
    }

    @NoArgsConstructor
    @Data
    public static class ConditionParam {
        private String orgCodes;
        private List<String> channelCodes;
        private List<String> siteSns;
        private List<String> sceneCodes;
        private String startCapTime;
        private String endCapTime;
        private Integer startAge;
        private Integer endAge;
        private Integer gender;
        private Object fringe;
        private Integer eye;
        private Integer mouth;
        private Integer beard;
        private Integer mask;
        private Integer glasses;
        private Integer emotion;
        private Integer extractedFlag;
        private String plateNum;
        private Integer faceImgType;
    }

    @NoArgsConstructor
    @Data
    public static class RetrievalParam {
        private String faceImage;
        private BigDecimal threshold;
        private String vendor;
    }

}
